package com.nkzy.mapper;

import com.nkzy.pojo.User;
import org.apache.ibatis.annotations.Insert;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Select;

/**
 * Mapper是MyBatis的接口层，我们在接口层通过注解的方法可以
 * 完成对数据库表进行增删改查操作
 * 可以通过@Mapper注解实现IoC
 * 接口中的方法都是抽象的，只有生声明的方法，没有方法的实现
 * 在mapper中所有的方法都是抽象的，然后通过注解的方式编写
 * SQL语句实现对数据库表进行
 */
@Mapper
public interface UserMapper {
/*
* 功能：完成通过用户名查询用户
* 对应的SQL语句
* select * from user where username=#{方法中的参数}
* @param username:方法的参数是username
*@return：返回值是 User对象
*
* */
    @Select("select * from user where username=#{username}")
    User selectUserByName(String username);
/**
 * 功能：完成用户的注册
 * 对应的SQl语句
 * insert into user(username，password,create_time,update_time) values(#{username},#{password},now(),now())
 * @parame username:第一个参数，用户名
 * @parame password：第二个参数，密码
 *
 */
@Insert("insert into user(username,password,create_time,update_time) values(#{username},#{password},now(),now())")
    void insert(String username, String password);
}
